<?php 

  //自定义错误处理
  //1 声明 我们自己使用自己的函数来处理错误
//   set_error_handler("处理错误的自己的函数名");
set_error_handler("my_error_handle");
  $str. "<br>v=$v";
  
  include './no-this.file.php';

  function fn(){};
  fn1();


  //2 d定义改函数
  function my_error_handle($errCode,$errMsg,$errFile,$errLine)
  // 参数解释 错误代码 错误信息 错误文件 错误行数
  // 此形参参数顺序固定 而且由系统会调用改函数并传入实参
  {
     //此函数中，我们就可以自己显示有关错误信息 和记录信息
     $str =  "<p>大事不好，发生错误";
     $str.= "<br>发生时间".date('Y-m-d H:i:s');
     $str.= "<br>错误代码".$errCode;
     $str.= "<br>错误信息".$errMsg;
     $str.= "<br>错误文件".$errFile;
     $str.= "<br>错误行数".$errLine;
     $str.= "</p>";
     echo $str;
     //也可以在这里继续去“记录错误”  
     //FILR_APPEND 表示数据追加
    //  file_put_contents('./error.html',$str,FILE_APPEND);
  }
?>

<!-- 自定义错误只能处理“非致命错误” 就是不是E_ERROR错误 -->